home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGNG_C / TCHK060.LZH / DEMODATE.C < prev    next >
C/C++ Source or Header  |  1988-01-15  |  6KB  |  145 lines

  1. /* demodate.c  -  used for testing TCHK date conversions */
  2.  
  3. #include <howard.h>
  4. #include <datehk.h>
  5.  
  6. #include <stdio.h>
  7. #include <dos.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10.  
  11.  
  12. main(int argc, char *argv[])
  13. {
  14.     FILE *fp;
  15.     struct date today;
  16.     char *c, buff[80], *c2, temp[20];
  17.     char US[12],Euro[12],Jap[12], *us,*euro,*jap, Sho[80],Ful[80], *shortd,*full;
  18.     double cal,calcent,julA,julB,julE;
  19.     struct ddate dd, *DD;
  20.  
  21.     if ((argc<2) || ((fp = fopen(argv[1],"w")) == NULL)) {
  22.         printf("DemoDate is a demonstration program for the date conversions of TCHK.\n\n");
  23.         printf("Usage:  demodate filename.ext\n\n");
  24.         printf("    demodate will write to the file you specify a small chart\n");
  25.         printf("    of possible date conversions. Cross index the date formats\n");
  26.         printf("    you wish to convert. If the entry is 0 (zero) there is no\n");
  27.         printf("    conversion presently available. Otherwise today's date will\n");
  28.         printf("    appear in the format specified in the To column.\n\n");
  29.         printf("In the works is a generic date conversion function that can convert\n");
  30.         printf("over 40 different date formats quickly and easily. See TCHK.DOC for\n");
  31.         printf("more details.");
  32.         exit(1);
  33.     }
  34.  
  35.  
  36.  
  37.     getdate(&today);
  38.     fprintf(fp,"DATEHK\n\n");
  39.     fprintf(fp,"      To   Greg-USA  Greg-Eur  Greg-Jap  Calendar    CalCent     Jul-E       Jul-A       Jul-B       dd-> mon  day  year\n");
  40.     fprintf(fp,"From\n");
  41. /* USA*/
  42.     sprintf(US,"%02d-%02d-%02d",today.da_mon,today.da_day,today.da_year-1900);
  43.     sprintf(Euro,"%02d-%02d-%02d",today.da_day,today.da_mon,today.da_year-1900);
  44.     sprintf(Jap,"%02d-%02d-%02d",today.da_year-1900,today.da_mon,today.da_day);
  45.     cal = GregtoCal(US);
  46.     calcent = GregtoCalCent(US);
  47.     julE = julA = julB = 0;
  48.     dd.dday = dd.dmon = dd.dyear = 0;
  49. fprintf(fp,"Greg-USA   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  50.     cal = GregEurotoCal(Euro);
  51.     calcent = GregEurotoCalCent(Euro);
  52. fprintf(fp,"Greg-Euro  %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  53.     cal = GregJaptoCal(Jap);
  54.     calcent = GregJaptoCalCent(Jap);
  55. fprintf(fp,"Greg-Jap   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  56.     us = CaltoGreg(cal);
  57.     strcpy(US,us);
  58.     euro = CaltoGregEuro(cal);
  59.     strcpy(Euro,euro);
  60.     jap = CaltoGregJap(cal);
  61.     strcpy(Jap,jap);
  62.     julE = CaltoJul(cal);
  63.     julA = CaltoJulA(cal);
  64.     julB = CaltoJulB(cal);
  65.     calcent = CaltoCalCent(cal);
  66. fprintf(fp,"Calendar   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  67.     cal = CalCenttoCal(calcent);
  68. fprintf(fp,"Cal-Cent   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  69.     us = JultoGreg(julE);
  70.     strcpy(US,us);
  71.     euro = JultoGregEuro(julE);
  72.     strcpy(Euro,euro);
  73.     jap = JultoGregJap(julE);
  74.     strcpy(Jap,jap);
  75.     cal = JultoCal(julE);
  76.     calcent = JultoCalCent(julE);
  77.     DD = Jultoddate(julE);
  78.     dd = *DD;
  79. fprintf(fp,"Jul-E      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  80.     julA = CaltoJulA(cal);
  81.     us = JulAtoGreg(julA);
  82.     strcpy(US,us);
  83.     euro = JulAtoGregEuro(julA);
  84.     strcpy(Euro,euro);
  85.     jap = JulAtoGregJap(julA);
  86.     strcpy(Jap,jap);
  87.     cal = JulAtoCal(julA);
  88.     calcent = JulAtoCalCent(julA);
  89.     DD = JulAtoddate(julA);
  90.     dd = *DD;
  91. fprintf(fp,"Jul-A      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  92.     julB = CaltoJulB(cal);
  93.     us = JulBtoGreg(julB);
  94.     strcpy(US,us);
  95.     euro = JulBtoGregEuro(julB);
  96.     strcpy(Euro,euro);
  97.     jap = JulBtoGregJap(julB);
  98.     strcpy(Jap,jap);
  99.     cal = JulBtoCal(julB);
  100.     calcent = JulBtoCalCent(julB);
  101.     DD = JulBtoddate(julB);
  102.     dd = *DD;
  103. fprintf(fp,"Jul-B      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  104.     julB = 0.0;
  105.     julA = 0.0;
  106.     julE = 0.0;
  107.     cal = 0;
  108.     calcent = 0;
  109.     us = CaltoGreg(cal);
  110.     strcpy(US,us);
  111.     euro = CaltoGregEuro(cal);
  112.     strcpy(Euro,euro);
  113.     jap = CaltoGregJap(cal);
  114.     strcpy(Jap,jap);
  115. fprintf(fp,"ddate      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  116.  
  117. julE = CaltoJul(GregtoCal(us));
  118. fprintf(fp,"\nDay of week: %d   =   %s\n",dayofweek(julE),Days[dayofweek(julE)]);
  119.  
  120. fprintf(fp,"       dd->mo dd->da dd->yr    short        full\n");
  121.     shortd = ddatetoshort(&dd);
  122.     strcpy(Sho,shortd);
  123.     full = ddatetofull(&dd);
  124.     strcpy(Ful,full);
  125. fprintf(fp,"ddate:   %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  126.     DD = shorttoddate(shortd);
  127.     dd = *DD;
  128.     strcpy(Ful,"");
  129. fprintf(fp,"short:   %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  130.     DD = fulltoddate(full);
  131.     dd = *DD;
  132.     strcpy(Sho,"");
  133.     strcpy(Ful,full);
  134. fprintf(fp,"full:    %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  135.  
  136.  
  137. /* quit */
  138.     fclose(fp);
  139.     exit(0);
  140. }
  141.  
  142. /*  Yes, I know, this program is a memory waster. Between most
  143.     fprintfs I should free() some memory before using the variable
  144.     again. This is only a demo. When you use the functions, make
  145.     sure you free your allocated memory.                            */